<h1>
  <a id="user-content-gnu-hyperbole-713---the-everyday-hypertextual-information-manager" class="anchor" href="#gnu-hyperbole-713---the-everyday-hypertextual-information-manager" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>GNU Hyperbole 7.1.4 - The Everyday Hypertextual Information Manager</h1>
<p>[Say thanks or send a testimonial if you like Hyperbole.(mailto:<a href="mailto:rsw@gnu.org">rsw@gnu.org</a>)]</p>

<p><strong>Table of Contents</strong></p>
<ul>
  <li><a href="#summary">Summary</a></li>
  <li><a href="#mailing-lists">Mailing Lists</a></li>
  <li><a href="#ftp-and-git-repository-downloads">Ftp and Git Repository Downloads</a></li>
  <li><a href="#installation">Installation</a></li>
  <li><a href="#invocation">Invocation</a></li>
  <li><a href="#hyperbole-components">Hyperbole Components</a></li>
  <li><a href="#hyperbole-buttons">Hyperbole Buttons</a></li>
  <li><a href="#important-features">Important Features</a></li>
  <li><a href="#hyperbole-uses">Hyperbole Uses</a></li>
  <li><a href="#files">Files</a></li>
  <li><a href="#programmer-quick-reference">Programmer Quick Reference</a></li>
  <li><a href="#user-quotes">User Quotes</a></li>
  <li><a href="#why-was-hyperbole-developed">Why was Hyperbole developed?</a></li>
</ul>

<p><a href="man/im/hyperbole-cv.png" target="_blank" rel="noopener noreferrer"><img src="man/im/hyperbole-cv.png" alt="Hyperbole screenshot of the Koutliner, DEMO file and HyRolo" style="max-width:100%;"></a></p>
<h2>
  <a id="user-content-summary" class="anchor" href="#summary" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Summary</h2>
<p><code>GNU Hyperbole</code> (pronounced Ga-new Hi-per-bo-lee), or just <code>Hyperbole</code>,
  is an easy-to-use, yet powerful and programmable hypertextual information
  management system implemented as a GNU Emacs package.  It offers rapid views
  and interlinking of all kinds of textual information, utilizing Emacs for
  editing.  It can dramatically increase your productivity and greatly reduce
  the number of keyboard/mouse keys you'll need to work efficiently.</p>
<p>Hyperbole lets you:</p>
<ol>
  <li>
    <p>Quickly create hyperlink buttons either from the keyboard or by dragging
      between a source and destination window with a mouse button depressed.
      Later, activate buttons by pressing/clicking on them or by giving the
      name of the button.</p>
  </li>
  <li>
    <p>Activate many kinds of <code>implicit buttons</code> recognized by context
      within text buffers, e.g. URLs, grep output lines, and git commits.
      A single key or mouse button automatically does the right thing in
      dozens of contexts; just press and go.</p>
  </li>
  <li>
    <p>Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6,
      that all renumber automatically as any node or tree is moved in the
      outline.  Each node also has a permanent hyperlink anchor that you can
      reference from any other node;</p>
  </li>
  <li>
    <p>Manage all your contacts quickly with hierarchical categories and
      embed hyperlinks within each entry.  Or create an archive of documents
      with hierarchical entries and use the same search mechanism to quickly
      find any matching entry;</p>
  </li>
  <li>
    <p>Use single keys to easily manage your Emacs windows or frames and
      quickly retrieve saved window and frame configurations;</p>
  </li>
  <li>
    <p>Search for things in your current buffers, in a directory tree or
      across major web search engines with the touch of a few keys.</p>
  </li>
</ol>
<p>The common thread in all these features is making retrieval,
  management and display of information fast and easy.  That is
  Hyperbole's purpose.  It may be broad but it works amazingly well.  If
  it is textual information, Hyperbole can work with it.  In contrast to
  Org mode, Hyperbole works across all Emacs modes and speeds your work
  by turning all kinds of references into clickable hyperlinks and
  allowing you to create new hyperlinks by dragging between two windows.
  The <a href="https://www.emacswiki.org/emacs/Hyperbole" rel="nofollow">Hyperbole wiki page</a>
  explains the many ways it differs from and is complementary to Org
  mode.</p>
<p>Hyperbole allows hypertext buttons to be embedded within unstructured
  and structured files, mail messages and news articles.  It offers
  intuitive keyboard and mouse-based control of information display
  within multiple windows.  It also provides point-and-click access to
  World-Wide Web URLs, Info manuals, ftp archives, etc.</p>
<p>Hyperbole includes easy-to-use, powerful hypertextual button types
  without the need to learn a markup language.  Hyperbole's button types
  are written in Lisp and can be wholly independent of the web, i.e. web
  links are one type of Hyperbole link, not fundamental to its link
  architecture.  However, Hyperbole is a great assistant when editing
  HTML or Javascript or when browsing web pages and links.</p>
<p>Hyperbole is something to be experienced and interacted with, not
  understood from reading alone.  If you like an Emacs package to do
  only one thing than Hyperbole is not for you, but if you would
  rather learn fewer packages and get more work done faster, then
  Hyperbole is for you.</p>
<p>Hyperbole works well on GNU Emacs 24.4 or above.  It is designed and
  written by Bob Weiner.  It is maintained by him and Mats Lidell.  Its
  main distribution site is: <a href="https://www.gnu.org/software/hyperbole/" rel="nofollow">https://www.gnu.org/software/hyperbole/</a>.
  If any term in here is new or unfamiliar to you, you can look it up in the
  <a href="man/hyperbole.html#Glossary">Hyperbole Glossary</a>.</p>
<p>Hyperbole is available for <a href="#installation">download and installation</a>
  through the GNU Emacs package manager.</p>
<h2>
  <a id="user-content-mailing-lists" class="anchor" href="#mailing-lists" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Mailing Lists</h2>
<ul>
  <li>
    <p><strong><a href="mailto:hyperbole-users@gnu.org">hyperbole-users@gnu.org</a></strong> - User list for GNU Hyperbole</p>
  </li>
  <li>
    <p><strong><a href="mailto:bug-hyperbole@gnu.org">bug-hyperbole@gnu.org</a></strong> - List for bug reporting</p>
  </li>
</ul>
<h2>
  <a id="user-content-ftp-and-git-repository-downloads" class="anchor" href="#ftp-and-git-repository-downloads" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Ftp and Git Repository Downloads</h2>
<p>To inspect the Hyperbole source code online rather than installing it for
  use (which will also give you the source code), open a web page to:</p>
<ul>
  <li><a href="https://git.savannah.gnu.org/cgit/hyperbole.git/tree/" rel="nofollow">https://git.savannah.gnu.org/cgit/hyperbole.git/tree/</a></li>
</ul>
<p>Alternatively, you may download a tar.gz source archive from either:</p>
<ul>
  <li>
    <p><a href="ftp://ftp.gnu.org/gnu/hyperbole/" rel="nofollow">ftp://ftp.gnu.org/gnu/hyperbole/</a></p>
  </li>
  <li>
    <p><a href="http://ftpmirror.gnu.org/hyperbole/" rel="nofollow">http://ftpmirror.gnu.org/hyperbole/</a></p>
  </li>
</ul>
<p>which will find the closest mirror of the GNU ftp site and show it to you.</p>
<p>If you want to follow along with Hyperbole development and maintain a
  copy/clone of the current version-controlled git tree, use a
  <a href="https://savannah.gnu.org/git/?group=hyperbole" rel="nofollow">command listed here</a>
  to clone the Hyperbole project tree.</p>
<h2>
  <a id="user-content-installation" class="anchor" href="#installation" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Installation</h2>
<p>Once you have Emacs set up at your site, GNU Hyperbole may be
  installed by using the Emacs Package Manager.  If you are not
  familiar with it, see the Packages section of the GNU Emacs Manual,
  <a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Packages.html" rel="nofollow">Emacs Packages</a>.</p>
<p>If you have Hyperbole 5.10 or higher already installed and simply want to
  upgrade it, invoke the Emacs Package Manager with {M-x list-packages RET},
  then use the {U} key followed by the {x} key to upgrade all out-of-date
  packages, Hyperbole among them.  Then skip the text below and move on to
  the next section, <a href="#invocation">Invocation</a>.</p>
<p>Otherwise, to download and install the Hyperbole package, you should
  add several lines to your personal Emacs initialization file,
  typically "~/.emacs".  For further details, see <a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html" rel="nofollow">Emacs Init
  File</a>.</p>
<p>Below are the lines to add:</p>
<pre><code>(require 'package)
(setq package-enable-at-startup nil) ;; Prevent double loading of libraries
(package-initialize)
(unless (package-installed-p 'hyperbole)
  (package-refresh-contents)
  (package-install 'hyperbole))
(require 'hyperbole)
</code></pre>
<hr>
<p>Now save the file and then restart Emacs.  Hyperbole will then be
  downloaded and compiled for use with your version of Emacs; give it a
  minute or two.  You may see a bunch of compilation warnings but these
  can be safely ignored.</p>
<h2>
  <a id="user-content-invocation" class="anchor" href="#invocation" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Invocation</h2>
<p>Once Hyperbole has been installed for use at your site and loaded into your
  Emacs session, it is ready for use.  You will see a Hyperbole menu on your
  menubar and {C-h h} will display a Hyperbole menu in the minibuffer for
  quick keyboard-based selection.</p>
<p>You can invoke Hyperbole commands in one of three ways:</p>
<p>use the Hyperbole menu on your menubar;</p>
<p><a href="man/im/menu-hyperbole.png" target="_blank" rel="noopener noreferrer"><img src="man/im/menu-hyperbole.png" alt="Hyperbole Menubar Menu" style="max-width:100%;"></a></p>
<p>type {C-h h} or {M-x hyperbole RET} to bring up the Hyperbole main menu
  in the minibuffer window, for fast keyboard or mouse-based selection;
  select an item from this menu by typing the item's first letter; use {q}
  to quit from the menu.</p>
<p>use a specific Hyperbole command such as an Action Key click {M-RET} on
  a pathname to display the associated file or directory.</p>
<p>Use {C-h h d d} for an interactive demonstration of standard Hyperbole
  button capabilities.</p>
<p><a href="man/im/demo.png" target="_blank" rel="noopener noreferrer"><img src="man/im/demo.png" alt="Hyperbole screenshot of the DEMO" style="max-width:100%;"></a></p>
<p>{C-h h k e} offers an interactive demonstration of the Koutliner,
  Hyperbole's multi-level autonumbered hypertextual outliner.</p>
<p><a href="man/im/koutliner.png" target="_blank" rel="noopener noreferrer"><img src="man/im/koutliner.png" alt="Hyperbole screenshot of the Koutliner" style="max-width:100%;"></a></p>
<p>To try out HyControl, Hyperbole's interactive frame and window control
  system, use {C-h h s w} for window control or {C-h h s f} for frame
  control.  {t} switches between window and frame control once in one of
  them.  Hyperbole also binds {C-c } for quick access to HyControl's
  window control menu if it was not already bound prior to Hyperbole's
  initialization.  A long video demonstrating many of HyControl's
  features is available at <a href="https://youtu.be/M3-aMh1ccJk" rel="nofollow">https://youtu.be/M3-aMh1ccJk</a>.</p>
<p>The above are the best interactive ways to learn about Hyperbole.
  Hyperbole also includes the Hyperbole Manual, a full reference manual,
  not a simple introduction.  It is included in the "man/" subdirectory
  of the Hyperbole package directory in four forms:</p>
<p><a href="man/hyperbole.info">hyperbole.info</a>   - online Info browser version<br>
  <a href="man/hyperbole.html">hyperbole.html</a>   - web HTML version<br>
  <a href="man/hyperbole.pdf">hyperbole.pdf</a>     - printable version<br>
  <a href="man/hyperbole.texi">hyperbole.texi</a>   - source form</p>
<p>The Hyperbole package installation places the Info version of this manual
  where needed and adds an entry for Hyperbole into the Info directory under
  the Emacs category.  {C-h h d i} will let you browse the manual.  For web
  browsing, point your browser at "${hyperb:dir}/man/hyperbole.html",
  wherever the Hyperbole package directory is on your system; often this is:
  "~/.emacs.d/elpa/hyperbole-${hyperb:version}/".</p>
<h2>
  <a id="user-content-hyperbole-components" class="anchor" href="#hyperbole-components" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Hyperbole Components</h2>
<p>Hyperbole consists of five parts:</p>
<ol>
  <li>
    <p><strong>Buttons and Smart Keys</strong>: A set of hyperbutton types which supply
      core hypertext and other behaviors.  Buttons may be added to
      documents (explicit buttons) with a simple drag between windows,
      no markup language needed.  Implicit buttons are patterns
      automatically recognized within text that perform actions,
      e.g. bug#24568 displays the bug status information for that bug
      number.</p>
    <p>These actions may be links or arbitrary Lisp expressions.  So
      for example, you could create your own button type of
      Wikipedia searches that jumped to the named Wikipedia page
      whenever point was within text of the form [wp].
      You define the pattern so {} might do the same
      thing if you preferred.  And this works within any Emacs
      buffer you want it to, regardless of major or minor mode.</p>
    <p>Buttons are accessed by clicking on them or referenced by name
      (global buttons), so they can be activated regardless of what is
      on screen.  Users can make simple changes to button types and
      those familiar with Emacs Lisp can prototype and deliver new
      types quickly with just a few lines of code.</p>
    <p>Hyperbole includes two special `Smart Keys', the Action Key
      and the Assist Key, that perform an extensive array of
      context-sensitive operations across emacs usage, including
      activating and showing help for Hyperbole buttons.  In many
      popular Emacs modes, they allow you to perform common, sometimes
      complex operations without having to use a different key for each
      operation.  Just press a Smart Key and the right thing happens;</p>
  </li>
  <li>
    <p><strong>Contact and Text Finder</strong>: an interactive textual information
      management interface, including fast, flexible file and text
      finding commands.  A powerful, hierarchical contact manager,
      HyRolo, which anyone can use is also included.  It is easy to
      learn to use since it introduces only a few new mechanisms and
      has a menu interface, which may be operated from the keyboard or
      the mouse.</p>
    <p><a href="man/im/menu-rolo.png" target="_blank" rel="noopener noreferrer"><img src="man/im/menu-rolo.png" alt="HyRolo Menubar Menu" style="max-width:100%;"></a></p>
  </li>
  <li>
    <p><strong>Screen Control</strong>: Hyperbole includes HyControl, the fastest,
      easiest-to-use window and frame control available for GNU
      Emacs.  With just a few keystrokes, you can shift from
      increasing a window's height by 5 lines to moving a frame by
      220 pixels or immediately moving it to a screen corner.  Text
      in each window or frame may be enlarged or shrunk (zoomed) for
      easy viewing, plus many other features;</p>
    <p>The broader vision for HyControl is to support persistent
      window and frame configurations as link targets.  Then a user
      will be able to create the views of information he wants and
      store them as links for rapid display.  Work remains to
      implement this feature but it helps explain the connection of
      HyControl to the rest of Hyperbole;</p>
  </li>
  <li>
    <p><strong>The Koutliner</strong>: an advanced outliner with multi-level
      autonumbering and permanent ids attached to each outline node for
      use as hypertext link anchors, per node properties and flexible
      view specifications that can be embedded within links or used
      interactively;</p>
  </li>
  <li>
    <p><strong>Programming Library</strong>: a set of programming library classes for
      system developers who want to integrate Hyperbole with another
      user interface or as a back-end to a distinct system.  (All of
      Hyperbole is written in Emacs Lisp for ease of modification.
      Hyperbole has been engineered for real-world usage and is well
      structured).</p>
  </li>
</ol>
<p>We find Hyperbole's parts are more powerful as one package, i.e. the
  sum is greater than the parts, so we don't offer them separately.
  Hyperbole is free software, however, so you may modify it as you see
  fit.</p>
<h2>
  <a id="user-content-hyperbole-buttons" class="anchor" href="#hyperbole-buttons" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Hyperbole Buttons</h2>
<p>A Hyperbole hypertext user works with buttons; he may create, modify, move
  or delete buttons.  Each button performs a specific action, such as linking
  to a file or executing a shell command.</p>
<p>There are three categories of Hyperbole buttons:</p>
<ol>
  <li>
    <p><em>Explicit Buttons</em>
      created by Hyperbole, accessible from within a single document;</p>
  </li>
  <li>
    <p><em>Global Buttons</em>
      created by Hyperbole, accessible anywhere within a user's
      network of documents;</p>
  </li>
  <li>
    <p><em>Implicit Buttons</em>
      buttons created and managed by other programs or embedded
      within the structure of a document, accessible from within a
      single document.  Hyperbole recognizes implicit buttons by
      contextual patterns given in their type specifications.</p>
  </li>
</ol>
<p>Hyperbole buttons may be clicked upon with a mouse to activate them or to
  describe their actions.  Thus, a user can always check how a button will act
  before activating it.  Buttons may also be activated from a keyboard.  (In
  fact, virtually all Hyperbole operations, including menu usage, may be
  performed from any standard terminal interface, so one can use it on distant
  machines that provide limited display access).</p>
<p>Hyperbole does not enforce any particular hypertext or information
  management model, but instead allows you to organize your information in
  large or small chunks as you see fit, organizing each bit as time allows.
  The Hyperbole Koutliner and HyRolo tools organize textual hierarchies and
  may also contain links to external information sources.</p>
<h2>
  <a id="user-content-important-features" class="anchor" href="#important-features" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Important Features</h2>
<p>Some of Hyperbole's most important features include:</p>
<ul>
  <li>
    <p>Buttons may link to information or may execute commands, such as
      computing a complex value or communicating with external programs;</p>
  </li>
  <li>
    <p>Buttons are quick and easy to create with no programming nor
      markup needed.  One simply drags between a button source location
      and a link destination to create or to modify a link button.  The
      same result can be achieved from the keyboard.</p>
  </li>
  <li>
    <p>Buttons may be embedded within email messages and activated from
      Emacs mail readers; hyperlinks may include variables so that they
      work at different locations where the variable settings differ;</p>
  </li>
  <li>
    <p>Koutlines allow rapid browsing, editing and movement of chunks of
      information organized into trees (hierarchies) and offer links
      that include viewspecs which determine how documents are to be
      displayed, e.g. show just the first two lines of all levels in a
      Koutline;</p>
  </li>
  <li>
    <p>Other hypertext and information retrieval systems may be
      encapsulated under a Hyperbole user interface very easily.</p>
  </li>
</ul>
<h2>
  <a id="user-content-hyperbole-uses" class="anchor" href="#hyperbole-uses" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Hyperbole Uses</h2>
<p>Typical Hyperbole applications include:</p>
<ul>
  <li>
    <p><em>Personal Information Management</em><br>
      Overlapping link paths provide a variety of views into an
      information space.  A single key press activates buttons
      regardless of their types, making navigation easy.</p>
    <p>A search facility locates buttons in context and permits quick
      selection.</p>
  </li>
  <li>
    <p><em>Documentation Browsing</em><br>
      Embedding cross-references in a favorite documentation format.</p>
    <p>Addition of a point-and-click interface to existing documentation.</p>
    <p>Linkage of code and design documents.  Jumping to the definition
      of an identifier from its use within code or its reference within
      documentation.</p>
  </li>
  <li>
    <p><em>Brainstorming</em><br>
      Capture of ideas and then quick reorganization with the Hyperbole
      Koutliner.  Link to related ideas, eliminating the need to copy
      and paste information into a single place.</p>
  </li>
  <li>
    <p><em>Help/Training Systems</em><br>
      Creation of tutorials with embedded buttons that show students how
      things work while explaining the concepts, e.g. an introduction
      to UNIX commands.  This technique can be much more effective than
      descriptions alone.</p>
  </li>
  <li>
    <p><em>Archive Managers</em><br>
      Supplementation of programs that manage archives from incoming
      information stream, having them add topic-based buttons that
      link to the archive holdings.  Users can then search and create
      their own links to archive entries.</p>
  </li>
</ul>
<h2>
  <a id="user-content-files" class="anchor" href="#files" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Files</h2>
<p>See the <a href="HY-ABOUT">HY-ABOUT</a> file for a description and overview of Hyperbole.</p>
<p>See the <a href="HY-NEWS">HY-NEWS</a> file for a summary of new features in this release.</p>
<p>See the <a href="INSTALL">INSTALL</a> file for installation and invocation instructions.</p>
<p>See the <a href="HY-COPY">HY-COPY</a> and <a href="COPYING">COPYING</a> files for license information.</p>
<p>See the <a href="MANIFEST">MANIFEST</a> file for summaries of Hyperbole distribution files.</p>
<p>See <a href="DEMO">DEMO</a> for a demonstration of standard Hyperbole button capabilities.
  This is the best way to initially interactively learn about Hyperbole after
  installing it.</p>
<p>Various forms of the Hyperbole are below the "man/" subdirectory.</p>
<h2>
  <a id="user-content-programmer-quick-reference" class="anchor" href="#programmer-quick-reference" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Programmer Quick Reference</h2>
<p><a href="MANIFEST">MANIFEST</a> summarizes most of the files in the distribution.</p>
<p>See <a href="DEMO">DEMO</a> for a demonstration of standard Hyperbole button
  capabilities.  This is the best way to initially interactively learn
  about Hyperbole.  The Hyperbole Manual is a reference manual, not a
  simple introduction.</p>
<p>Naming conventions:</p>
<ul>
  <li>
    <p>All Hyperbole-specific code files begin with an 'h', aside from the
      Koutliner files which are in the kotl/ subdirectory and begin with a 'k'.</p>
  </li>
  <li>
    <p>Hyperbole user-interface files begin with 'hui-' or 'hmous'.</p>
  </li>
  <li>
    <p>Files that define implicit button types begin with 'hib'.</p>
  </li>
  <li>
    <p>Encapsulations of foreign systems begin with 'hsys-'.</p>
  </li>
</ul>
<p>Most of the standard Emacs user interface for Hyperbole is located in
  <a href="hui.el">hui.el</a>.  Most of the Hyperbole application programming
  interface can be found in <a href="hbut.el">hbut.el</a>.  <a href="hbdata.el">hbdata.el</a>
  encapsulates the button attribute storage implemented by Hyperbole.
  <a href="hmail.el">hmail.el</a> provides a basic abstract interface for
  integrating mail readers other than Rmail into Hyperbole.</p>
<p>See the [Hyperbole Questions and Answers](man/hyperbole.html#Questions
  and Answers) appendix in the Hyperbole manual for information on how
  to alter the default context-sensitive Hyperbole key bindings (Smart
  Keys).</p>
<h2>
  <a id="user-content-user-quotes" class="anchor" href="#user-quotes" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>User Quotes</h2>
<p>*** MAN I love Hyperbole!!!  Wow! ***</p>
<pre><code>                    -- Ken Olstad  
                       Cheyenne Software, Inc.
</code></pre>
<hr>
<p>I <em>love</em> koutlines.</p>
<pre><code>                    -- Bob Glickstein  
                       Z-Code Software Corporation
</code></pre>
<hr>
<p>One of the nicest things about Hyperbole is that it's available
  everywhere. Org-mode is a mode and its features are only available in
  Org files. For instance if you dropped into <code>eshell' or </code>ansi-term' and
  did `ls', you can move point to any of the directory's contents, do M-RET
  (or Shift-Button2) and jump to that file.  And that's just one example.
  Note that this means that all Hyperbole functionality is available in
  Org files as well.  To me, except for the Hyperbole outliner, that means
  complementary not conflicting. It's Hyperbole <em>and</em> org-mode, not
  Hyperbole vs. org-mode.</p>
<p>Additionally, off the bat, I found it very well documented and for me
  that's a proxy for the quality of a package.  The maintainers are quite
  responsive.  There's plenty more functionality that I haven't uncovered yet
  but due to the ease of installation and the quality of the documentation,
  digging into it is actually fun.</p>
<pre><code>                    -- Aditya Siram  
</code></pre>
<hr>
<p>For me, Emacs isn't Emacs without Hyperbole.  I have depended on Hyperbole
  daily since 1992, when I first started using it to manage my development
  environment.  It didn't take long before I could summon almost any
  information I needed directly from within my editing environment with an
  implicit button. Since I almost never have to slow down to look for
  things--one context-dependent button usually produces exactly what I need
  --I am able to maintain focus on the task I am working on and complete it
  more quickly.  With its gestural interface, seamless integration with other
  Emacs packages and incredibly useful set of core features.  I think that
  Hyperbole is one of the best designed and most easily extensible software
  products I have ever come across.  It is certainly the one which has made
  the biggest improvement in my personal productivity.</p>
<p>My Hyperbole button file is my start page in Emacs.  It's a quickly
  searchable index with links to countless resources.  We also have a
  library of implicit buttons that enable rapid navigation from references
  in our code to our issue tracking system, so clicking a reference like
  Client6502 opens the relevant conversation.  Hyperbole provides a really
  useful set of power tools.  If Emacs is your preferred productivity
  environment, it's definitely worth getting familiar with it.</p>
<pre><code>                    -- Chris Nuzum  
                       Co-founder, Traction Softwarea, Inc.
</code></pre>
<hr>
<p>I've found Hyperbole (in conjunction with XEmacs) to be very useful
  for signal processing algorithm development.</p>
<p>For me, it has almost completely obsoleted the engineering notebook:
  I keep a set of files with ideas, algorithms, and results, linked
  together and to the implementation in C++ files.  Using XEmacs'
  support for embedding graphics, I've written a mode that accepts
  image tags (formatted like HTML), and reads in GIF files to display
  plots.  I have another program that converts the file to HTML (not
  perfect, but adequate), so I can put any aspect of development on
  our internal web for others to see.</p>
<pre><code>                    -- Farzin Guilak  
                       Protocol Systems, Inc., Engineer
</code></pre>
<hr>
<p>I am blind and have been using Hyperbole since 1992.  I used to use a PC as
  a talking terminal attached to a UNIX system, but then I developed
  Emacspeak which lets me use Emacs and Hyperbole from standard UNIX
  workstations with an attached voice synthesizer.</p>
<p>My main uses are:</p>
<ol>
  <li>
    <p>Global and implicit buttons for jumping to ftp sites.</p>
  </li>
  <li>
    <p>The contact manager with Emacspeak support.</p>
  </li>
  <li>
    <p>Explicit buttons as part of comments made about a structured document.
      Each button jumps to the document section referred to by the comment.
      This is very, very useful.</p>
  </li>
  <li>
    <p>The Hyperbole Koutliner, which I find a very useful tool.  I've
      implemented Emacspeak extensions to support it.</p>
    <pre><code>              -- TV Raman
                 Google Inc.
    </code></pre>
  </li>
</ol>
<hr>
<p>I've been a grateful Hyperbole user for a few years now.  Hyperbole's
  flexibility and ease of use is a marvel.</p>
<p>Mainly, I write easy little implicit button types (and corresponding action
  types) to make my life easier.  For example, I have an implicit button type
  to bury certain buffers when I click at their bottoms, one that recognizes
  a bug report record in various contexts and edits it, one that links pieces
  of test output in a log file to the corresponding test case source code
  (EXTREMELY helpful in interpreting test output), others that support our
  homegrown test framework, one that handles tree dired mode the way I'd
  like, one that completely handles wico menus (I've also overloaded the
  wconfig actions triggered by diagonal mouse drags with wicos actions), and
  a couple that support interaction with BBDB.</p>
<p>Other than that, I keep a global button file with 30 or so explicit buttons
  that do various little things, and I index saved mail messages by putting
  explicit link-to-mail buttons in an outline file.</p>
<pre><code>                    -- Ken Olstad  
                       Cheyenne Software, Inc.
</code></pre>
<hr>
<p>In general, Hyperbole is an embeddable, highly extensible hypertext
  tool.  As such, I find it very useful. As it stands now, Hyperbole is
  particularly helpful for organizing ill-structured or loosely coupled
  information, in part because there are few tools geared for this purpose.
  Hyperbole also possesses a lot of potential in supporting a wider
  spectrum of structuredness, ranging from unstructured to highly
  structured environments, as well as structural changes over time.</p>
<p>Major Uses:</p>
<ul>
  <li>
    <p>Menu interface to our own collaborative support environment called
      CoReView: This interface brings together all top-level user commands
      into a single partitioned screen, and allows the end user to interact
      with the system using simple mouse-clicking instead of the meta-x key.</p>
  </li>
  <li>
    <p>Gateway to internet resources: this includes links to major Internet
      archive sites of various types of information. Links are made at both
      directory and file levels.</p>
  </li>
  <li>
    <p>Alternative directory organizer: The hierarchical nature of the Unix
      file system sometimes makes it difficult to find things quickly and
      easily using directory navigational tools such as dired. Hyperbole
      enables me to create various "profile" views of my directory tree, with
      entries in these views referring to files anywhere in the hierarchy.</p>
  </li>
  <li>
    <p>Organizing and viewing online documentation: using Hyperbole along with
      Hyper-man and Info makes it truly easy to look up online documentation.</p>
  </li>
  <li>
    <p>Other desktop organization tasks: including links to various mail
      folders, saved newsgroup conversation threads, online note-taker,
      emacs-command invocations, etc.</p>
    <pre><code>                -- Dadong Wan
                   University of Hawaii
    </code></pre>
  </li>
</ul>
<hr>
<p>Hyperbole is the first hyper-link system I've run across that is
  actually part of the environment I use regularly, namely Emacs. The
  complete flexibility of the links is both impressive and expected -- the
  idea of making the link itself programmable is clever, and given that one
  assumes the full power of Emacs.  Being able to send email with buttons
  in it is a very powerful capability.  Using ange-ftp mode, one can make
  file references "across the world" as easily as normal file references.</p>
<pre><code>                    -- Mark Eichin  
                       Cygnus Support
</code></pre>
<hr>
<p>I just wanted to say how much I enjoy using the Hyperbole Koutliner.
  It is a great way to quickly construct very readable technical documents
  that I can pass around to others.   Thanks for the great work.</p>
<pre><code>                    -- Jeff Fried  
                       Informix
</code></pre>
<hr>
<p>The Hyperbole system provides a nice interface to exploring corners of
  Unix that I didn't know existed before.</p>
<pre><code>                    -- Craig Smith  
</code></pre>
<h2>
  <a id="user-content-why-was-hyperbole-developed" class="anchor" href="#why-was-hyperbole-developed" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Why was Hyperbole developed?</h2>
<p>Hyperbole was originally designed to aid in research aimed at Personalized
  Information production/retrieval Environments (PIEs).  Hyperbole was a
  PIE Manager that provided services to PIE Tools.  PIEmail, a mail reader was
  the only PIE Tool developed as part of this research but Hyperbole has
  greatly expanded since then and has long been a production quality toolset.</p>
<p>An examination of many hypertext environments as background research did
  not turn up any that seemed suitable for the research envisioned, mainly
  due to the lack of rich, portable programmer and user environments.  We also
  tired of trying to manage our own distributed information pools with standard
  UNIX tools.  And so Hyperbole was conceived and raved about until it
  got its name.</p>
<p>Since then Hyperbole has proved indispensible at improving information
  access and organization in daily use over many years.  Why not start
  improving your information handling efficiency today?</p>
<p>-- The End --</p>
